package com.cskaoyan.service;

import com.cskaoyan.bean.bo.CreateGoodsBo;
import com.cskaoyan.bean.bo.GoodsRequestParamBo;
import com.cskaoyan.bean.bo.GoodsUpdateBo;
import com.cskaoyan.bean.bo.WxGoodsListBo;
import com.cskaoyan.bean.pojo.Goods;
import com.cskaoyan.bean.pojo.GoodsBrand;
import com.cskaoyan.bean.pojo.GoodsComment;
import com.cskaoyan.bean.vo.*;

import java.util.List;

public interface GoodsService {
    GoodsListVo getGoodsList(GoodsRequestParamBo paramBo);

    void deleteGoods(Goods goods);

    int createGoods(CreateGoodsBo createGoodsBo);

    int existGoodsSn(CreateGoodsBo createGoodsBo);

    int existGoodsName(CreateGoodsBo createGoodsBo);

    GoodsCommentListVo getCommentList(GoodsRequestParamBo paramBo);

    void deleteComment(GoodsComment goodsComment);

    CatAndBrandVo getCatAndBrand();

    GoodsDetailVo getGoodsDetail(Integer id);

    int updateGoods(GoodsUpdateBo goodsUpdateBo);

    WxGoodsCountVo getWxGoodsCount();

    WxGoodsListVo getWxGoodsList(WxGoodsListBo wxGoodsListBo);

    WxHomeIndexVo getWxHomeIndex();

    WxCatalogIndexVo getCatalogIndex();

    WxCatalogCurrentVo getCatalogCurrent(Integer id);

    WxGoodsCategoryVo getGoodsCategory(Integer id);

    WxGoodsBrandDetailVo getBrandDetail(Integer id);

    WxGoodsBrandListVo getBrandList(Integer page, Integer size);

    WxGoodsDetailVo getWxGoodsDetail(Integer id);

    WxGoodsRelatedVo getGoodsRelated(Integer id);
}
